home *** CD-ROM | disk | FTP | other *** search
/ Ham Radio 2000 / Ham Radio 2000.iso / ham2000 / misc / dspice0s / getnod.c < prev    next >
C/C++ Source or Header  |  1992-11-21  |  5KB  |  160 lines

  1. /* getnod.f -- translated by f2c (version of 3 February 1990  3:36:42).
  2.    You must link the resulting object file with the libraries:
  3.     -lF77 -lI77 -lm -lc   (in that order)
  4. */
  5.  
  6. #include "f2c.h"
  7.  
  8. /* Common Block Declarations */
  9.  
  10. struct {
  11.     integer ielmnt, isbckt, nsbckt, iunsat, nunsat, itemps, numtem, isens, 
  12.         nsens, ifour, nfour, ifield, icode, idelim, icolum, insize, 
  13.         junode, lsbkpt, numbkp, iorder, jmnode, iur, iuc, ilc, ilr, 
  14.         numoff, isr, nmoffc, iseq, iseq1, neqn, nodevs, ndiag, iswap, 
  15.         iequa, macins, lvnim1, lx0, lvn, lynl, lyu, lyl, lx1, lx2, lx3, 
  16.         lx4, lx5, lx6, lx7, ld0, ld1, ltd, imynl, imvn, lcvn, nsnod, 
  17.         nsmat, nsval, icnod, icmat, icval, loutpt, lpol, lzer, irswpf, 
  18.         irswpr, icswpf, icswpr, irpt, jcpt, irowno, jcolno, nttbr, nttar, 
  19.         lvntmp;
  20. } tabinf_;
  21.  
  22. #define tabinf_1 tabinf_
  23.  
  24. struct {
  25.     integer locate[50], jelcnt[50], nunods, ncnods, numnod, nstop, nut, nlt, 
  26.         nxtrm, ndist, ntlin, ibr, numvs, numalt, numcyc;
  27. } cirdat_;
  28.  
  29. #define cirdat_1 cirdat_
  30.  
  31. struct {
  32.     integer iprnta, iprntl, iprntm, iprntn, iprnto, limtim, limpts, lvlcod, 
  33.         lvltim, itl1, itl2, itl3, itl4, itl5, itl6, igoof, nogo, keof;
  34. } flags_;
  35.  
  36. #define flags_1 flags_
  37.  
  38. struct {
  39.     doublereal value[200000];
  40. } blank_;
  41.  
  42. #define blank_1 blank_
  43.  
  44. struct {
  45.     doublereal omega, time, delta, delold[7], ag[7], vt, xni, egfet, xmu, 
  46.         sfactr;
  47.     integer mode, modedc, icalc, initf, method, iord, maxord, noncon, iterno, 
  48.         itemno, nosolv, modac, ipiv, ivmflg, ipostp, iscrch, iofile;
  49. } status_;
  50.  
  51. #define status_1 status_
  52.  
  53. /* Table of constant values */
  54.  
  55. static integer c__1 = 1;
  56.  
  57. /*<       subroutine getnod(node) >*/
  58. /* Subroutine */ int getnod_(node)
  59. integer *node;
  60. {
  61.     /* Format strings */
  62.     static char fmt_21[] = "(\0020warning:  attempt to reference undefined n\
  63. ode \002,i5,\002 -- node reset to 0\002/)";
  64.  
  65.     /* Builtin functions */
  66.     integer s_wsfe(), do_fio(), e_wsfe();
  67.  
  68.     /* Local variables */
  69.     static integer jknt;
  70. #define nodplc ((integer *)&blank_1)
  71. #define cvalue ((complex *)&blank_1)
  72.  
  73.     /* Fortran I/O blocks */
  74.     static cilist io__4 = { 0, 0, 0, fmt_21, 0 };
  75.  
  76.  
  77. /*<       implicit double precision (a-h,o-z) >*/
  78.  
  79. /*     this routine converts from the user node number to the internal */
  80. /* (compact) node number. */
  81.  
  82. /* spice version 2g.6  sccsid=tabinf 3/15/83 */
  83. /*<       common /tabinf/ ielmnt,isbckt,nsbckt,iunsat,nunsat,itemps,numtem, >*/
  84. /*<      1   isens,nsens,ifour,nfour,ifield,icode,idelim,icolum,insize, >*/
  85. /*<      2   junode,lsbkpt,numbkp,iorder,jmnode,iur,iuc,ilc,ilr,numoff,isr, >*/
  86. /*<      3   nmoffc,iseq,iseq1,neqn,nodevs,ndiag,iswap,iequa,macins,lvnim1, >*/
  87. /*<      4   lx0,lvn,lynl,lyu,lyl,lx1,lx2,lx3,lx4,lx5,lx6,lx7,ld0,ld1,ltd, >*/
  88. /*<      5   imynl,imvn,lcvn,nsnod,nsmat,nsval,icnod,icmat,icval, >*/
  89. /*<      6   loutpt,lpol,lzer,irswpf,irswpr,icswpf,icswpr,irpt,jcpt, >*/
  90. /*<      7   irowno,jcolno,nttbr,nttar,lvntmp >*/
  91. /* spice version 2g.6  sccsid=cirdat 3/15/83 */
  92. /*<       common /cirdat/ locate(50),jelcnt(50),nunods,ncnods,numnod,nstop, >*/
  93. /*<      1   nut,nlt,nxtrm,ndist,ntlin,ibr,numvs,numalt,numcyc >*/
  94. /* spice version 2g.6  sccsid=flags 3/15/83 */
  95. /*<       common /flags/ iprnta,iprntl,iprntm,iprntn,iprnto,limtim,limpts, >*/
  96. /*<      1   lvlcod,lvltim,itl1,itl2,itl3,itl4,itl5,itl6,igoof,nogo,keof >*/
  97. /* spice version 2g.6  sccsid=blank 3/15/83 */
  98. /*<       common /blank/ value(200000) >*/
  99. /* spice version 2g.6  sccsid=status 3/15/83 */
  100. /*<       common /status/ omega,time,delta,delold(7),ag(7),vt,xni,egfet, >*/
  101. /*<      1   xmu,sfactr,mode,modedc,icalc,initf,method,iord,maxord,noncon, >*/
  102. /*<      2   iterno,itemno,nosolv,modac,ipiv,ivmflg,ipostp,iscrch,iofile >*/
  103. /*<       integer nodplc(64) >*/
  104. /*<       complex cvalue(32) >*/
  105. /*<       equivalence (value(1),nodplc(1),cvalue(1)) >*/
  106.  
  107.  
  108. /*<       if (nogo.ne.0) go to 100 >*/
  109.     if (flags_1.nogo != 0) {
  110.     goto L100;
  111.     }
  112. /*<       jknt=0 >*/
  113.     jknt = 0;
  114. /*<    10 jknt=jknt+1 >*/
  115. L10:
  116.     ++jknt;
  117. /*<       if (jknt.gt.nunods) go to 20 >*/
  118.     if (jknt > cirdat_1.nunods) {
  119.     goto L20;
  120.     }
  121. /*<       if (nodplc(junode+jknt).ne.node) go to 10 >*/
  122.     if (nodplc[tabinf_1.junode + jknt - 1] != *node) {
  123.     goto L10;
  124.     }
  125. /*<       node=jknt >*/
  126.     *node = jknt;
  127. /*<       go to 100 >*/
  128.     goto L100;
  129.  
  130. /*  unknown node -- must be implied by .print and/or .plot */
  131.  
  132. /*<    20 if (node.eq.0) go to 30 >*/
  133. L20:
  134.     if (*node == 0) {
  135.     goto L30;
  136.     }
  137. /*<       write (iofile,21) node >*/
  138.     io__4.ciunit = status_1.iofile;
  139.     s_wsfe(&io__4);
  140.     do_fio(&c__1, (char *)&(*node), (ftnlen)sizeof(integer));
  141.     e_wsfe();
  142. /*<    21 format('0warning:  attempt to reference undefined node ',i5, >*/
  143. /*<      1   ' -- node reset to 0'/) >*/
  144. /*<    30 node=1 >*/
  145. L30:
  146.     *node = 1;
  147.  
  148. /*  finished */
  149.  
  150. /*<   100 return >*/
  151. L100:
  152.     return 0;
  153. /*<       end >*/
  154. } /* getnod_ */
  155.  
  156. #undef cvalue
  157. #undef nodplc
  158.  
  159.  
  160.